GrapeCity ActiveReports for .NET 12.0J
PDFへの描画

Portable Document Format(PDF)は、印刷やエクスポートに適した形式です。レポートをこの形式でエクスポートするには、PDFRenderingExtensionを使用します。PDF描画拡張機能では、フォントリンク、デジタル署名、外字(EUDC)などの機能を使用することも可能です。

レポートをPDFでエクスポートするには、プロジェクトに以下のアセンブリへの参照を追加します。

レポートをPDF形式でエクスポートする方法の例を以下に示します。

  1. 新規プロジェクトとして「ページレポート(またはRDLレポート)アプリケーション」を作成します。詳細な手順については、「ActiveReportsアプリケーションを追加する」を参照してください。
  2. プロジェクトにGrapeCity.ActiveReports.Export.Pdf.v12.dllアセンブリへの参照を追加します。
  3. Form.cs(またはForm.vb)を開き、タイトルバーをダブルクリックしてForm_Loadイベントを作成します。
  4. 以下のコードをForm_Loadイベント内に追加します。アプリケーションを実行すると、デフォルトで一意な名前のファイルが新規作成されます。
Visual Basicコード(Form Loadイベント内に貼り付けます。)
コードのコピー
' 描画するページレポートを指定します。
Dim rptPath As New IO.FileInfo("..\..\PageReport1.rdlx")
Dim pageReport As New GrapeCity.ActiveReports.PageReport(rptPath)

' 出力先のディレクトリを作成します。
Dim outputDirectory As New System.IO.DirectoryInfo("C:\MyPDF")
outputDirectory.Create()

' エクスポートの各種設定を行います。
Dim pdfSetting As New GrapeCity.ActiveReports.Export.Pdf.Page.Settings()

' レポートサイズを縮小し、レポートの生成時間を短縮します。
pdfSetting.OptimizeStatic = True

' RenderingExtensionを使用し、レポートをエクスポートします。
Dim pdfRenderingExtension As New GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension()
Dim outputProvider As New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, "Sample")

' 出力ファイルがすでに存在する場合は上書きします。
outputProvider.OverwriteOutputFile = True

pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting)
C#コード(Form Loadイベント内に貼り付けます。)
コードのコピー
// 描画するページレポートを指定します。
System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\PageReport1.rdlx");
GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);

// 出力先のディレクトリを作成します。
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyPDF");
outputDirectory.Create();

// エクスポートの各種設定を行います。
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();

// レポートサイズを縮小し、レポートの生成時間を短縮します。
pdfSetting.OptimizeStatic = true;

// RenderingExtensionを設定して、レポートを描画します。
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, "Sample");

// 出力ファイルがすでに存在する場合は上書きします。
outputProvider.OverwriteOutputFile = true;

pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting); 

PDFエクスポート(描画拡張機能)のプロパティ

ActiveReportsには、レポートをPDFにどのようにエクスポートするかを制御するオプションが用意されています。

プロパティ 説明
Application PDFビューワアプリケーションの[文書のプロパティ]ダイアログで[アプリケーション]に表示する値を設定します。
Author PDFビューワアプリケーションの[文書のプロパティ]ダイアログに表示される[作成者]の名前を入力します。
CenterWindow 「True」に設定すると、ドキュメントは画面の中央に表示されます。既定値は「False」です。
Columns レポートの列数を設定します。レポートのオリジナルの設定は、この値によってオーバーライドされます。既定値の「-1」は、レポートのオリジナルの設定を使用することを意味します。
ColumnSpacing レポートの列の間隔(インチ単位)を入力します。レポートのオリジナルの設定は、この値によってオーバーライドされます。
DisplayMode ドキュメントを開いたときにどのように表示するかを指定します。FullScreenモードは、メニューバー、ウィンドウコントロール、その他のウィンドウを表示せずにドキュメントを表示します。
DisplayTitle 「True」に設定すると、ドキュメントのタイトルが設定されている場合に、ウィンドウのタイトルバーにそのタイトルが表示されます。「False」に設定すると、PDFファイルの名前が表示されます。既定値は「Fasle」です。
DpiX 出力するPDFファイルの水平解像度を設定します。
DpiY 出力するPDFファイルの垂直解像度を設定します。
DocumentToAddAfterReport 出力の最後に挿入するPDFドキュメントへのパスを取得または設定します。
DocumentToAddBeforeReport 出力の最初に挿入するPDFドキュメントへのパスを取得または設定します。
EmbedFonts レポートで使用しているフォントをPDFファイルに埋め込むかどうかを指定します。設定可能な値は以下の通りです。
All: すべてのフォントを埋め込みます
Partial: アスキー文字以外の文字を表示するのに使用しているフォントを埋め込みます
None: フォントを埋め込みません
注意: 日本語フォントの非埋め込みはProfessionalの機能です。Standardで使用する場合、日本語フォントはPDFに埋め込まれます。
Encrypt ドキュメントが暗号化されるかどうかを決定します。
メモ: Encrypt「False」に設定されている場合、ユーザー許可とパスワードは無効になります。
EndPage レポート内のレンダリングする最後のページ。既定値はStartPageの値(すなわち、「0」)です。
FallbackFonts 元のフォントからグリフを検索するため、フォントファミリ名のカンマ区切りの文字列を取得、または設定します。
FitWindow 「True」に設定すると、ドキュメントのウィンドウ(ビューワの内部ウィンドウ)は常に初期設定のサイズで表示されます。既定値は「False」です。
HideMenubar 「True」に設定すると、ドキュメントを表示するビューワアプリケーションのメニューバーを非表示にします。既定値は「False」です。
HideToolbar 「True」に設定すると、ドキュメントを表示するビューワアプリケーションのツールバーを非表示にします。既定値は「False」です。
HideWindowUI 「True」に設定すると、ドキュメントウィンドウのユーザーインタフェース要素(スクロールバーやナビゲーションコントロールなど)を非表示にしてドキュメントの内容だけが表示されます。既定値は「False」です。
ImageInterpolation 画像の補間値です。ファイルをPDFにエクスポートする際に画像補間を有効にするかどうかを指定します。
Keywords ドキュメントに関連付けられたキーワードを設定します。
MarginBottom レポートの下余白の値(インチ単位)を取得、または設定します。整数、または小数値の後に"in"を付ける必要があります(例 1in)。レポートのオリジナルの設定は、この値によってオーバーライドされます。
MarginLeft レポートの左余白の値(インチ単位)を取得、または設定します。整数、または小数値の後に"in"を付ける必要があります(例 1in)。レポートのオリジナルの設定は、この値によってオーバーライドされます。
MarginRight レポートの右余白の値(インチ単位)を取得、または設定します。整数、または小数値の後に"in"を付ける必要があります(例 1in)。レポートのオリジナルの設定は、この値によってオーバーライドされます。
MarginTop レポートの上余白の値(インチ単位)を取得、または設定します。整数、または小数値の後に"in"を付ける必要があります(例 1in)。レポートのオリジナルの設定は、この値によってオーバーライドされます。
NeverEmbedFonts PDFドキュメントに埋め込めないフォントファミリをセミコロン区切りの文字列形式で設定します。
注意: 日本語フォントの非埋め込みはProfessionalの機能です。Standardで使用する場合、日本語フォントはPDFに埋め込まれます。
OptimizeStatic 「True」に設定すると、XObjectで最適化されたPDFファイルを生成します。静的なレポートアイテムを再利用し、PDFファイルのサイズを縮小したり、少ない時間で生成することができます。
OwnerPassword リーダーに入力するオーナーパスワードを設定します。これは指定されたユーザー許可にかかわらずドキュメントへのフルアクセスを許可します。オーナーパスワード設定しない場合、セキュリティ設定を変更することはできません。
PageHeight レポートのページ高さの値(インチ単位)を取得、または設定します。整数、または小数値の後に"in"を付ける必要があります(例 1in)。レポートのオリジナルの設定は、この値によってオーバーライドされます。
PageWidth レポートのページ幅の値(インチ単位)を取得、または設定します。整数、または小数値の後に"in"を付ける必要があります(例 1in)。レポートのオリジナルの設定は、この値によってオーバーライドされます。
Permissions ドキュメントに対するユーザー許可を指定します。カンマを使用して複数のユーザー許可値を組み合わせることができます。AllowFillinAllowAccessibleReadersAllowAssemblyのユーザー許可を使用する場合は、Use128Bitプロパティを「True」に設定する必要があります。
PrintLayoutMode PDFドキュメントに使用するレイアウトモードを指定します。
PrintOnOpen ドキュメントが開いた後、印刷するかどうかを示す値を取得または設定します。
PrintPresets PDF印刷プリセットのダイアログを取得または設定します。
SizeToFit PDFのページを選択した用紙サイズに合わせるかどうかを指定します。
StartPage 描画するレポートの最初のページです。値が「0」の場合は、すべてのページが描画されます。既定値は「1」です。
Subject ドキュメントのサブタイトルを設定します。
Title ドキュメントのタイトルを設定します。
Use128Bit 「True」に設定すると、高水準の128ビットRC4暗号方式を使用します。「Flase」に設定すると、低水準の40ビットRC4暗号方式を使用します。
UserPassword リーダーに入力するユーザーパスワードを設定します。このプロパティ値が空白の場合、ドキュメントを開いた時にパスワードを入力するダイアログは表示されません。ただし、指定されたユーザー許可によって操作は制限されます。
Version どのバージョンのPDFで出力するかを設定します。
WatermarkAngle PDFドキュメント上のウォーターマーク(透かし)の角度を指定します。有効な値の範囲は「0」「359」で、「0」は水平(左から右)です。
WatermarkColor PDFドキュメント上のウォーターマーク(透かし)のテキストの色を選択します。透かしの色の既定値はグレーですが、任意のWebカラー、システムカラー、カスタムカラーを選択できます。
WatermarkFont ウォーターマーク(透かし)に使用するフォントを有効なSystem.Drawing.Fontに設定します。
WatermarkTitle PDFドキュメント上のウォーターマーク(透かし)のタイトルとして使用するテキスト(例: CONFIDENTIAL)を入力します。

PDF印刷プリセット(Professional)のプロパティ

ActiveReportsでは、レポートをPDFドキュメントにエクスポートするとき、PrintPresetsクラスを使用して、基本的な印刷設定をプリセットできます。プリセットした設定は、印刷ダイアログボックスを開いたときに自動で印刷設定に反映されます。詳細については、「PDF印刷プリセットの使用」を参照してください。

注意:
  • PDF印刷プリセットはProfessionalの機能です。Standardで使用する場合、Professionalのライセンスが必要なことを示すバナーが表示されます。
  • これらのプロパティは、PDFバージョン1.7以上で使用可能です。PageScalingプロパティは、PDFバージョン1.6でサポートされています。
プロパティ 解説
PageScaling 印刷可能領域の拡大/縮小を指定します。「Default」を選択した場合は、印刷可能領域に合わせて縮小されます。「None」を選択した場合は、縮小を行いません。
DuplexMode プリンタの「両面印刷モード」を指定します。両面オプションを選択する場合、選択したプリンターが両面印刷に対応している必要があります。以下のオプションのいずれかを選択します。
  • Simplex: 用紙の片面に印刷します。これはデフォルトの値です。
  • Duplex(長辺とじ): 用紙の両面(長辺とじ)に印刷します。
  • Duplex(短辺とじ): 用紙の両面(短辺とじ)に印刷します。
PaperSourceByPageSize ページ設定オプションではなく、PDFページサイズに基づいて出力トレイを決定します。複数のページサイズのPDFを印刷するとき、このオプションを使用できます。デフォルトでは、「False」に設定されています。
PrintPageRange ページ範囲を指定します。"1-3"のように範囲を指定するか、"1", "2", "3"のように特定のページを指定します。
NumberOfCopies 印刷する部数を指定します。[Two][Five]のいずれかを選択するか、1部のみ印刷する場合は[Default]オプションを選択します。

PDF/Aの制限事項

対話的な機能

PDFは印刷に最適な形式であると同時に、見出しマップ、ブックマーク、ハイパーリンクなどの対話的な機能もサポートしています。ただし、描画時に非表示になっていたデータ(ドリルダウンレポートのデータなど)は出力されません。したがって、描画前に折りたたまれた項目をすべて展開しておくことを推奨します。

関連トピック

 

 


Copyright © 2003 GrapeCity inc. All rights reserved.